package com.xiaoshuidi.cloud.module.rooms.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xiaoshuidi.cloud.framework.common.pojo.CommonResult;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.roomequipment.vo.*;
import com.xiaoshuidi.cloud.module.rooms.vo.RoomEquipmentVO;

import java.util.List;

/**
 * @Author Feng
 * @date 2023/4/27
 */
public interface RoomEquipmentService {

    /**
     * 新增房间资产
     *
     * @param
     * @return
     */
    Long create(RoomEquipmentCreateReq req);

    void updateStatus(Long id, String status);

    void updateBatchDp(RoomEquipmentUpDpReqVo req);

    Boolean edit(RoomEquipmentUpdateReqVO req);

    RoomEquipmentRespVO importRoomEquipment(List<RoomEquipmentImport> list);

    IPage<RoomEquipmentPageResp> pageRoomEquipmentByRoomId(RoomEquipmentPageReqVO reqVO);

    List<RoomEquipmentExportRespVo> exportRoomEquipment(RoomEquipmentExportReq roomEquipmentExportReq);

    RoomEquipmentQueryResp queryRoomEquipmentById(Integer id);

    void deleteById(Long id);

    CommonResult<List<RoomEquipmentVO>> getRoomEquipmentByRoomId(Long roomId);

    /**
     * 解绑资产
     *
     * @param roomId
     * @return
     */
    Boolean unbindingEquipment(Long roomId);

    void batchImportEquipment(List<PartLeaseEquipmentTemplateVo> equipments, Long apartmentId, Long tenantId, Long userId, String flag);

    Boolean equipmentImport(EquipmentImportReq req,String key);
}
